package com.songlanyun.modules.comment.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.songlanyun.common.enums.CommentConstant;
import com.songlanyun.common.enums.OpusConstant;
import com.songlanyun.common.utils.PageUtils;
import com.songlanyun.modules.comment.entity.UserComment;

import java.util.List;
import java.util.Map;

/**
 * 会员的评论
 *
 * @author Mark
 * @email sunlightcs@gmail.com
 * @date 2020-11-30 17:57:16
 */
public interface UserCommentService extends IService<UserComment> {

    PageUtils queryPage(Map<String, Object> params);

    PageUtils commentPage(Map<String, Object> params);

    UserComment getById(Long id, boolean isThrow);

    List<UserComment> listByOpusId(Long id, CommentConstant.CommentModelType modelType);

    PageUtils opusCommentPage(Map<String, Object> params);

    void show(UserComment userComment);

    Boolean comment(UserComment userComment);

    Boolean ifComment(OpusConstant.ModelType modelType, Long modelId, Long commentUserId);

    PageUtils myPage( Map<String, Object> params);

    Integer commentSum(Long userId);

    void modelDel(CommentConstant.CommentModelType modelType, Long modelId);

    PageUtils findList(Map<String, Object> params);
}

